async function foo() {
  const myPromise = async () => void 0;
  const condition = true;
  await (condition && myPromise());
}

async function foo12() {
  const myPromise = async () => void 0;
  const condition = true;
  condition && (await myPromise());
}

async function foo13() {
  const myPromise = async () => void 0;
  let condition = false;
  condition && myPromise();
  condition = true;
  condition || myPromise();
  condition ?? myPromise();
}

Promise.reject()
  .catch(() => {})
  .finally(() => {})
  .finally(() => {});

[1, 2, void Promise.reject(), 3];